package com.itlong.cloud.POJO.PO;

import com.itlong.cloud.annotation.ItlField;
import com.itlong.cloud.annotation.ItlTables;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * <desc>
 *      平板设备信息PO类
 * </desc>
 *
 * @createDate 2019/01/17
 */
@ItlTables("device_pad_info")
@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class DevicePadInfoPO extends BasePO {
    @ItlField(value = "device_unique",logicKey = "key")
    private String deviceUnique;                                    //设备序列号
    @ItlField("device_id")
    private String deviceId;                                        //设备id
    @ItlField("device_name")
    private String deviceName;                                      //设备名称
    @ItlField("project_id")
    private String projectId;                                       //项目编号
    @ItlField(value = "device_memo",notNull = "false")
    private String deviceMemo;                                      //设备说明
    @ItlField(value = "product_type_id")
    private String productTypeId;                                   //产品型号ID,平板产品型号ID
    @ItlField("iot_device_id")
    private String iotDeviceId;                                     //阿里云颁发的设备id，全局唯一
    @ItlField("iot_device_secret")
    private String iotDeviceSecret;                                 //设备私钥
    @ItlField("iot_device_status")
    private String iotDeviceStatus;                                 //设备状态，目前预留
    @ItlField("iot_device_work_status")
    private  String iotDeviceWorkStatus;                            //设备工作状态,ONLINE, OFFLINE, UNACTIVE
    @ItlField("batch_number")
    private String batchNumber;             //批次号
    @ItlField("bind_device_unique")
    private String bindDeviceUnique;        //绑定的设备编号
    @ItlField("mac_address")
    private String macAddress;              //mac地址

    @ItlField("version")
    private String version;              //mac地址

    public DevicePadInfoPO(String deviceUnique, String deviceId, String deviceName, String projectId, String deviceMemo) {
        this.deviceUnique = deviceUnique;
        this.deviceId = deviceId;
        this.deviceName = deviceName;
        this.projectId = projectId;
        this.deviceMemo = deviceMemo;
    }

    public DevicePadInfoPO(String deviceUnique, String deviceId, String deviceName, String projectId, String deviceMemo, String productTypeId) {
        this.deviceUnique = deviceUnique;
        this.deviceId = deviceId;
        this.deviceName = deviceName;
        this.projectId = projectId;
        this.deviceMemo = deviceMemo;
        this.productTypeId = productTypeId;
    }
}
